package controller;

import domain.Produto;
import java.sql.SQLException;
import repository.ProdutoDAO;

public class ProdutoController {
    
    public ProdutoDAO dao;
    
    public void buscarProduto(String nome) throws SQLException{
        String sql;
        if(nome.isEmpty()){
            sql = "select * from produto;";
        }else{
            sql = "select * from produto where upper(nome) like '%" + nome.toUpperCase() + "%';";
        }
        
        this.dao = new ProdutoDAO();
        this.dao.read(sql);
    }
    
    public void adicionarProduto(Produto p) throws SQLException{
        String sql = "insert into produto values(default,";
        sql += "'" + p.getNome() + "',";
        sql += "'" + p.getTipo() + "',";
        sql += "" + p.getValor() + ",";
        sql += "'" + p.getDescricao() + "',";
        sql += "" + p.getValorVenda()+ ");";
        this.dao = new ProdutoDAO();
        this.dao.save(sql);
    }
    
    public void alterarProduto(Produto p) throws SQLException{
        String sql = "update produto set ";
        sql += "nome = '" + p.getNome() + "',";
        sql += "tipo = '" + p.getTipo() + "',";
        sql += "valor = " + p.getValor() + ",";
        sql += "descricao = '" + p.getDescricao() + "',";
        sql += "valorvenda = " + p.getValorVenda();
        sql += "where idproduto = " + p.getId() + ";";
        this.dao = new ProdutoDAO();
        this.dao.update(sql);
    }
    
    public void removerProduto(int id) throws SQLException{
        String sql = "delete from produto where idproduto = " + id + ";";
        new ProdutoDAO().delete(sql);
    }

    public void buscarIdProduto(int id) throws SQLException {
        String sql = "select * from produto where idproduto = " + id + ";";
        dao = new ProdutoDAO();
        dao.buscarIdProduto(sql);
    }
}
